package cn.edu.qzuie.artist.module.td.controller.admin.teacher.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.*;


@Schema(description = "管理后台 - 教师新增/修改 Request VO")
@Data
public class TeacherSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long id;

    @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "部门编号不能为空")
    private Long departId;

    @Schema(description = "工号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2023032016")
    @NotEmpty(message = "工号不能为空")
    private String teacherNo;

    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "密码不能为空")
    private String password;

    @Schema(description = "邮箱", example = "admin@126.com")
    private String email;

    @Schema(description = "真实姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "真实姓名不能为空")
    private String realName;

    @Schema(description = "艺名", example = "天翼")
    private String nickName;

    @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED, example = "男")
    @NotNull(message = "性别不能为空")
    private Integer gender;

    @Schema(description = "生日", example = "1990-09-10")
    private LocalDate birthday;

    @Schema(description = "入职时间", example = "2009-09-09")
    private LocalDate hiredate;

    @Schema(description = "职称", example = "讲师")
    private Integer title;

    @Schema(description = "教师状态", example = "在职")
    private Integer teacherState;

    @Schema(description = "个人介绍", example = "个人介绍")
    private String description;

}